package mg2d.equation;

public interface ConvDiffEqn {
	/**
	 * The analytic function p in u_xx + u_yy + p*u_x + q*u_y = f.
	 * @param x
	 * @param y
	 * @return The value of p at the point (x,y).
	 */
	double p(double x, double y);
	/**
	 * The analytic function q in u_xx + u_yy + p*u_x + q*u_y = f.
	 * @param x
	 * @param y
	 * @return The value of q at the point (x,y).
	 */
	double q(double x, double y);
	/**
	 * The analytic function u in u_xx + u_yy + p*u_x + q*u_y = f.
	 * @param x
	 * @param y
	 * @return The value of u at the point (x,y).
	 */
	double u(double x, double y);
	/**
	 * The analytic function f in u_xx + u_yy + p*u_x + q*u_y = f.
	 * @param x
	 * @param y
	 * @return The value of f at the point (x,y).
	 */
	double f(double x, double y);
}
